#ifndef ARCHIVE_ILOADER
#define ARCHIVE_ILOADER
#include "Archive/IFile.hpp"
namespace Archive{
class ILoader
{
public:
	virtual ~ILoader(){}
public:
	virtual IFile::ptr load(const char* filename) = 0;

	typedef boost::shared_ptr<ILoader> ptr;
	
	static ptr createDirectLoader();
	static ptr createArchiveDirectLoader(const char* filename);
	static ptr createArchiveOnlyLoader(const char* filename);
};
}//Archive

#endif
